#include "Jugador.h"
#include "Juego.h"
#include "TiradorDeDados.h"

Jugador::Jugador(string color, TiradorDeDados* tiradorDeDados)
{
	ejercitos = 0;
	this->color = color;
	dadosTirados = false;
	this->tiradorDeDados = tiradorDeDados;
}

string Jugador::getColor() {
	return this->color;
}
void Jugador::asignarEjercitos(unsigned int cantidadDeEjercitos) {
	ejercitos += cantidadDeEjercitos;
}
unsigned int Jugador::getCantidadDeEjercitos() {
	return ejercitos;
}
void Jugador::quitarEjercitos(unsigned int cantidadDeEjercitos) {
	ejercitos -= cantidadDeEjercitos;
}
CartaDeObjetivos* Jugador::getCartaDeObjetivos() {
	return this->cartaDeObjetivos;
}
void Jugador::setCartaDeObjetivos(CartaDeObjetivos* cartaDeObjetivos) {
	this->cartaDeObjetivos = cartaDeObjetivos;
}

list<Dado>* Jugador::tirarDados(unsigned int cantidadDeDados) {
	//TODO::Esto va al proxy
	/***************************************************
	string mensaje = "<jugada>\n";
	mensaje += "	<tirarDados></tirarDados>\n";
	mensaje += "</jugada>";
	//server->enviarMensaje(color,"TirarDados");
	
	while (!dadosTirados)
		wait();
	string mensaje2 = "<dados>\n";
	//TODO::
	mensaje2 += "<dado1 valor=\""+dados->at(0)"/>;
	//server->broadcast(
	dadosTirados = false;
	***************************************************/ 
	list<Dado>* dados = new list<Dado>();
	for (unsigned int i = 0; i<cantidadDeDados; i++)
			dados->push_back(tiradorDeDados->tirar());
	return dados;
}

unsigned int getCantidadDadosParaDefender(unsigned int dadosDelAtacante) {
	;
}

Jugador::~Jugador()
{
}
